Today's global economy demands effective worldwide communication. For example, manufacturers often have suppliers located across the country and around the world. Timely and effective communication between the manufacturer and supplier can be critical to business success. In other cases, companies often assign business projects to work groups with members physically located around the world. In some situations, the work group members can belong to different organizations and/or companies. As with manufacturers and suppliers, timely and effective communication can be critical to the success of the work group.
Face-to-face meetings have been the traditional method of communicating, but, with the organizations becoming increasing geographically dispersed, these meetings often require travel on the part of attendees and, thus, are becoming increasingly time and cost prohibitive. With proliferation of computers and the advent of the Internet, and in particular, the maturing of the World Wide Web (“web”), these meetings are increasingly taking place virtually over computer networks through the use of electronic communication technologies, such as web meeting/conferencing and application sharing.
Application sharing technologies enable a sharing user, also referred to as a “presenter,” to share an application with various viewing users, also referred to as “attendees” or “participants.” The display produced by the application that is executing on the presenter's computer, and which is being shared, is made available via a connection, typically through a computer network, to the attendees' computers.
Many application sharing tools or applications provide a remote control feature that allows a sharing user to give control of an application that is being shared to a viewing user at a remote computer. For example, the sharing user may pass control of the application being shared to a viewing user, whereby the viewing user's control inputs are then communicated from the viewing user's computer to the sharing user's computer. On the sharing user's computer, the actions associated with the control inputs received from the viewing user's computer are executed, and the resulting changed display is shared back out to the viewing users.
Although such remote control features are useful, both the application sharing tool and the application being shared remain unable to take full advantage of such features. This is because conventional interactive applications, which are the applications that are typically shared, expect to be used by a single user. When remote control of these applications is given to a viewing user, all the actions from the viewing user appear to have been performed by the sharing user (i.e., the user hosting the application). For example, if Alice opens a document using MICROSOFT Word on her computer and application shares it to Bob, then Bob's edits to the document will show up in the document edit history as having been made by Alice. This is because applications, such as MICROSOFT Word, are not aware that they are being application shared. Moreover, these applications are not aware of the user that is controlling the applications.